package util;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


/**
 * Isaac Newton comprit le lien entre les lois de la m�canique classique et la troisi�me loi de Kepler.<br/>
 * Il en d�duisit la formule suivante : P� = (4Pi�a�a)/GM<br/>
 * o� P est la p�riode de l'objet<br/>
 * a est le demi grand axe de la trajectoire elliptique,<br/>
 * G est la constante de la gravitation universelle,<br/>
 * M est la somme des masses des deux objets.<br/>
 * Dans le cas d'un syst�me �toile/plan�te, la masse de la plan�te peut �tre n�gligee compar�e � celle de l'�toile.<br/>
 */
public class NewtonMovementCalculations {

	public static final Logger LOGGER = LoggerFactory.getLogger(NewtonMovementCalculations.class);
	
	// Constante gravitionnelle
	public static final Double G = 9.81;
	// Masse du Soleil
	public static final double SUN_MASS = 1.9891*Math.pow(10, 30);
	// Masse de la Terre
	public static final double EARTH_MASS = 5.9736*Math.pow(10, 24);
	// Distance Terre-Soleil
	public static final double EARTHSUN_DISTANCE = 149.597870*Math.pow(10, 6);

	// P� = (4Pi�a�a)/GM
	/**
	 * @param a demi grand axe de la trajectoire elliptique
	 * @param M masse de l'objet
	 * @return
	 */
	public static Double periodEquation(Double a, Double M) {
		LOGGER.info("P� = (4Pi�a�a)/GM with a={} and M={} ", a, M);
		return Math.sqrt((4*Math.PI*Math.PI*a*a*a)/(G*M));
	}

}
